<?php

namespace aerovuelos\ReservaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Reservas
 *
 * @ORM\Table(name="reservas")
 * @ORM\Entity
 */
class Reservas {

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var float
     *
     * @ORM\Column(name="precio_total", type="float", nullable=true)
     */
    private $precioTotal;

    /**
     * @var \Vuelos
     *
     * @ORM\ManyToOne(targetEntity="aerovuelos\VueloBundle\Entity\Vuelos")
     * @ORM\JoinColumns({
     * @ORM\JoinColumn(name="vuelos_id", referencedColumnName="id")
     * })
     */
    private $vuelos;

    /**
     * @var \Personas
     *
     * @ORM\ManyToOne(targetEntity="aerovuelos\PersonaBundle\Entity\Personas")
     * @ORM\JoinColumns({
     * @ORM\JoinColumn(name="personas_id", referencedColumnName="id")
     * })
     */
    private $personas;

    /**
     * @var \Usuarios
     *
     * @ORM\ManyToOne(targetEntity="aerovuelos\UsuarioBundle\Entity\Usuarios")
     * @ORM\JoinColumns({
     * @ORM\JoinColumn(name="usuarios_id", referencedColumnName="id")
     * })
     */
    private $usuarios;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="fecha_hora_reserva", type="datetime", nullable=true)
     */
    private $fechaHoraReserva;

    /**
     * @var string
     *
     * @ORM\Column(name="codigo_reserva", type="string", length=255, nullable=true)
     */
    private $codigoReserva;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="fecha_hora_pago", type="datetime", nullable=true)
     */
    private $fechaHoraPago;

    /**
     * @var \Boolean
     *
     * @ORM\Column(name="compra_efectiva", type="boolean", nullable=true)
     */
    private $compraEfectiva;

    /**
     * @var \FormasDePago
     *
     * @ORM\ManyToOne(targetEntity="aerovuelos\ReservaBundle\Entity\FormasDePago")
     * @ORM\JoinColumns({
     * @ORM\JoinColumn(name="forma_pago_id", referencedColumnName="id")
     * })
     */
    private $formasDePago;

    public function __construct() {
        $this->fechaHoraReserva = new \DateTime();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set precioTotal
     *
     * @param float $precioTotal
     * @return Reservas
     */
    public function setPrecioTotal($precioTotal) {
        $this->precioTotal = $precioTotal;

        return $this;
    }

    /**
     * Get precioTotal
     *
     * @return float 
     */
    public function getPrecioTotal() {
        return $this->precioTotal;
    }

    /**
     * Set personas
     *
     * @param \aerovuelos\PersonaBundle\Entity\Personas $personas
     * @return Reservas
     */
    public function setPersonas(\aerovuelos\PersonaBundle\Entity\Personas $personas = null) {
        $this->personas = $personas;

        return $this;
    }

    /**
     * Get personas
     *
     * @return \aerovuelos\PersonaBundle\Entity\Personas 
     */
    public function getPersonas() {
        return $this->personas;
    }

    /**
     * Set usuarios
     *
     * @param \aerovuelos\UsuarioBundle\Entity\Usuarios $usuarios
     * @return Reservas
     */
    public function setUsuarios(\aerovuelos\UsuarioBundle\Entity\Usuarios $usuarios = null) {
        $this->usuarios = $usuarios;

        return $this;
    }

    /**
     * Get usuarios
     *
     * @return \aerovuelos\UsuarioBundle\Entity\Usuarios 
     */
    public function getUsuarios() {
        return $this->usuarios;
    }

    /**
     * Set vuelos
     *
     * @param \aerovuelos\VueloBundle\Entity\Vuelos $vuelos
     * @return Reservas
     */
    public function setVuelos(\aerovuelos\VueloBundle\Entity\Vuelos $vuelos = null) {
        $this->vuelos = $vuelos;

        return $this;
    }

    /**
     * Get vuelos
     *
     * @return \aerovuelos\VueloBundle\Entity\Vuelos 
     */
    public function getVuelos() {
        return $this->vuelos;
    }

    /**
     * Get fechaHoraReserva
     *
     * @return datetime 
     */
    public function getFechaHoraReserva() {
        return $this->fechaHoraReserva;
    }

    /**
     * Set fechaHoraReserva
     *
     * @param datetime $fechaHoraReserva
     * @return Reservas
     */
    public function setFechaHoraReserva($fechaHoraReserva) {
        $this->fechaHoraReserva = $fechaHoraReserva;
    }

    /**
     * Get codigoReserva
     *
     * @return string 
     */
    public function getCodigoReserva() {
        return $this->codigoReserva;
    }

    /**
     * Set codigoReserva
     *
     * @param string $codigoReserva
     * @return Reservas
     */
    public function setCodigoReserva($codigoReserva) {
        $this->codigoReserva = $codigoReserva;
    }

    /**
     * Get fechaHoraPago
     *
     * @return datetime 
     */
    public function getFechaHoraPago() {
        return $this->fechaHoraPago;
    }

    /**
     * Set fechaHoraPago
     *
     * @param datetime $fechaHoraPago
     * @return Reservas
     */
    public function setFechaHoraPago($fechaHoraPago) {
        $this->fechaHoraPago = $fechaHoraPago;
    }

    /**
     * Get compraEfectiva
     *
     * @return boolean 
     */
    public function getCompraEfectiva() {
        return $this->compraEfectiva;
    }

    /**
     * Set compraEfectiva
     *
     * @param boolean $compraEfectiva
     * @return Reservas
     */
    public function setCompraEfectiva($compraEfectiva) {
        $this->compraEfectiva = $compraEfectiva;
    }

    /**
     * Get formasDePago
     *
     * @return \aerovuelos\ReservaBundle\Entity\FormasDePago 
     */
    public function getFormasDePago() {
        return $this->formasDePago;
    }

    /**
     * Set formasDePago
     *
     * @param \aerovuelos\ReservaBundle\Entity\FormasDePago $formasDePago
     * @return Reservas
     */
    public function setFormasDePago(\aerovuelos\ReservaBundle\Entity\FormasDePago $formasDePago = null) {
        $this->formasDePago = $formasDePago;
    }

}